Doubly Linked List
import java.util.*;
class dnode{
int data;
dnode left,right;
}
class doublelinkedlistDemo{
public static void main(String[] args){
dnode first=null, temp, dummy;
dummy = new dnode();
System.out.println("Creating Doubly Linked List!!!");
int choice;
int data;
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("\n1.Insert\n2.Show\n3.Back Track\n4.Remove First Node\n5.Insert Before Firs node");
choice = sc.nextInt();
switch(choice){
case 1: System.out.println("Enter Integer Data:");
data = sc.nextInt();
temp = new dnode();
temp.data = data;
temp.left = temp.right = null;
if(first == null){
first = temp;
dummy = temp;
}else{
dummy.right = temp;
temp.left = dummy;
dummy = temp;
}
break;
case 2: System.out.println("Show contents of List: \n");
for(temp=first;temp.right!=null;temp=temp.right){
System.out.print(temp.data+" ");
}System.out.print(temp.data+" ");
break;
case 3: System.out.println("Back Tracking: \n");
for(temp=dummy;temp.left!=null;temp=temp.left){
System.out.print(temp.data+" ");
}System.out.print(temp.data+" ");
break;
case 4: System.out.println("Removing First Node of List");
temp = first.right;
first = temp;
first.left = null;
break;
case 5: System.out.println("Insert Before First Node");
data = sc.nextInt();
temp = new dnode();
temp.data = data;
temp.left = temp.right = null;
temp.right = first;
first.left = temp;
first = temp;
break;
default:System.exit(0);
break;
}
}
}
}
Output
Creating Doubly Linked List!!!
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
1
Enter Integer Data:
33
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
1
Enter Integer Data:
44
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
1
Enter Integer Data:
5
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
2
Show contents of List:
33 44 5
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
3
Back Tracking:
5 44 33
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
4
Removing First Node of List
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node
2
Show contents of List:
44 5
1.Insert
2.Show
3.Back Track
4.Remove First Node
5.Insert Before Firs node